package com.zyp.jobseeker.mapper;

import com.zyp.jobseeker.entity.Interview;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 面试邀请Mapper接口
 */
public interface InterviewMapper {
    /**
     * 插入面试邀请记录
     */
    int insertInterview(Interview interview);

    /**
     * 根据ID查询面试邀请记录
     */
    Interview selectById(Long id);

    /**
     * 企业主动邀请学生面试
     */
    int createInterviewInvitation(Interview interview);

    /**
     * 查询学生收到的面试邀请（分页）
     */
    List<Interview> findInterviewsByStudentId(
            @Param("studentId") Long studentId,
            @Param("status") Integer status);

    /**
     * 查询企业发出的面试邀请（分页）
     */
    List<Interview> findInterviewsByEnterpriseId(
            @Param("enterpriseId") Long enterpriseId,
            @Param("status") Integer status);

    /**
     * 学生接受面试邀请
     */
    int acceptInterview(@Param("id") Long id, @Param("studentId") Long studentId);

    /**
     * 学生拒绝面试邀请
     */
    int rejectInterview(@Param("id") Long id, @Param("studentId") Long studentId);
    /**
     * 查询所有面试邀请（分页）
     */
    List<Map<String, Object>> findAllInterviews();
}